home *** CD-ROM | disk | FTP | other *** search
- #!/bin/csh -f
- #
- # Compares two source trees
- #
- # Usage: "difftree src-tree dst-tree",
- #
- # Gershon Elber, Jan 1996.
- #
-
- set reverse = 0
- if ("$1" == "-r") then
- shift
- set reverse = 1
- endif
-
- if ( $#argv != 2 ) then
- echo "Usage: difftree src-tree dst-tree"
- exit 1
- endif
-
- set src = $1
- set dest = $2
-
- if ( ! -e $src ) then
- echo "Source directory does not exists"
- exit 1
- endif
- if ( ! -e $dest ) then
- echo "Destination directory does not exists"
- exit 1
- endif
-
- diff -rq $src $dest | awk \
- 'BEGIN { \
- } \
- (($1 == "Files") && ($3 == "and") && ($5 == "differ")) { \
- if ( $reverse ) { \
- printf("echo ===================================\n"); \
- printf("echo cp %s %s\n", $2, $4); \
- printf("echo ===================================\n"); \
- printf("diff %s %s\n", $2, $4); \
- } \
- else { \
- printf("echo ===================================\n"); \
- printf("echo cp %s %s\n", $4, $2); \
- printf("echo ===================================\n"); \
- printf("diff %s %s\n", $4, $2); \
- } \
- } \
- { \
- }' > /tmp/difftree.tmp.$$
-
- csh /tmp/difftree.tmp.$$
-
- rm /tmp/difftree.tmp.$$
-